<?php
/**
 ***********************************************************************************************************************
 * url核心类
 * @author llq
 ***********************************************************************************************************************
 */
namespace artisan;
/**
 * Class url
 * @package artisan
 */
class url
{
    /**
     * @var
     */
    static $config;

    /**
     * 当前请求URL
     * @return string
     */
    public static function current()
    {
        return input::url();
    }

    /**
     * 站点域名
     * @return string
     */
    public static function web()
    {
        return input::getScheme() . input::getHost() . (input::port() == '80' ? '' : ':' .input::port());
    }

    /**
     * URL资源快捷函数
     * @param string $url
     * @return string
     */
    public static function base($url = '')
    {
        $base = config::get('global', 'url.base') ? config::get('global', 'url.base') : self::web();
        return rtrim($base, '/') . '/' . ltrim($url, '/');
    }

    /**
     * 静态资源快捷函数
     * @param string $url
     * @return string
     */
    public static function statics($url = '')
    {
        $base = config::get('global', 'url.statics') ? config::get('global', 'url.statics') : self::base('static');
        return rtrim($base, '/') . '/' . ltrim($url, '/');
    }

    /**
     * JAVASCRIPT资源快捷函数
     * @param string $url
     * @return string
     */
    public static function js($url = '')
    {
        $base = config::get('global', 'url.js') ? config::get('global', 'url.js') : self::base('js');
        return rtrim($base, '/') . '/' . ltrim($url, '/');
    }

    /**
     * 样式资源快捷函数
     * @param string $url
     * @return string
     */
    public static function css($url = '')
    {
        $base = config::get('global', 'url.css') ? config::get('global', 'url.css') : self::base('css');
        return rtrim($base, '/') . '/' . ltrim($url, '/');
    }

    /**
     * 图片资源快捷函数
     * @param string $url
     * @return string
     */
    public static function img($url = '')
    {
        $base = config::get('global', 'url.img') ? config::get('global', 'url.img') : self::base('img');
        return rtrim($base, '/') . '/' . ltrim($url, '/');
    }

    /**
     * 上传文件快捷函数
     * @param string $url
     * @return string
     */
    public static function upload($url = '')
    {
        $base = config::get('global', 'url.upload') ? config::get('global', 'url.upload') : self::base('upload');
        return rtrim($base, '/') . '/' . ltrim($url, '/');
    }
}